Verpacken einer Handling Unit
In diesem Beispiel soll gezeigt werden, wie eine vorhandene Handling Unit in eine neu zu erzeugende Handling Unit gepackt wird.
Die Handling Unit, die eingegeben wird, muss natürlich existieren. Hierbei wird die interne Identifikationsnummer verlangt (VEKP-VENUM).
ACHTUNG:
In den meisten Transaktionen, die Handling Units anzeigen (z. B. HUMO), wird aber nur die externe Identifikation angezeigt (VEKP-EXIDV)!!
Coding
*&———————————————————————*
*& Verpacken einer vorhandenen Handling Unit in eine neue HU
*&———————————————————————*
REPORT zsdhu_pack_hu_demo.
TYPE-POOLS vsep.
DATA:
gs_hu TYPE huitem_from,
gt_venums TYPE hum_venum_t,
gv_venum TYPE venum,
gs_headers TYPE vekpvb,
gs_header_proposal LIKE huhdr_proposal,
gs_item_proposal TYPE huitm_proposal,
gs_pack_req TYPE vsep_s_pithu.
*** Eingabe der Handling Unit, die verpackt werden soll
PARAMETERS: p_venum TYPE venum DEFAULT ‘6658’.
START-OF-SELECTION.
*** Initialisierung Verpacken
APPEND p_venum TO gt_venums.
CALL FUNCTION ‘HU_INITIALIZE_PACKING’
EXPORTING
it_internal_numbers = gt_venums
EXCEPTIONS
not_possible = 1
OTHERS = 2.
CLEAR: gs_headers, gs_header_proposal.
*** Neue Handling Unit erzeugen: Vorbereitung
gs_header_proposal-exidv = ‘$1’.
gs_header_proposal-hu_status_init = ‘A’.
*** HU soll aus diesem Packmittel sein: KARTON
gs_header_proposal-vhilm = ‘KARTON’.
*** HU erzeugen
CALL FUNCTION ‘HU_CREATE_ONE_HU’
EXPORTING
if_create_hu = ‘ ‘
is_header_proposal = gs_header_proposal
IMPORTING
es_header = gs_headers
EXCEPTIONS
input_missing = 1
not_possible = 2
header_error = 3
item_error = 4
serial_nr_error = 5
fatal_error = 6
OTHERS = 7.
IF sy-subrc <> 0.
*** Fehler beim Erzeugen der neuen HU
WRITE: / ‘Fehler Create:’, sy-subrc.
STOP.
ELSE.
WRITE: / ‘HU Created:’,
/ ‘- VENUM:’, gs_headers-venum,
/ ‘- EXIDV:’, gs_headers-exidv.
ENDIF.
LOOP AT gt_venums INTO gv_venum.
*** Vorhandene HU soll eingepackt werden…
gs_hu-venum = gs_headers-venum.
*** … in die neu erzeugte HU:
CLEAR gs_item_proposal.
gs_item_proposal-velin = ‘3’.
gs_item_proposal-sub_hu_venum = gv_venum.
*** Neue Position als HU eintragen
CALL FUNCTION ‘HU_CREATE_ITEM’
EXPORTING
is_handling_unit = gs_hu
is_item_proposal = gs_item_proposal
EXCEPTIONS
not_possible = 1
OTHERS = 2.
IF sy-subrc > 0.
*** Fehlerprotokoll
WRITE: / ‘Fehler HU_CREATE_ITEM’, sy-subrc.
ELSE.
*** Protokoll
WRITE: / ‘Create Item’, gv_venum, sy-subrc.
*** Verbuchen
CALL FUNCTION ‘HU_POST’
EXPORTING
if_synchron = ‘X’
if_commit = ‘X’.
ENDIF.
ENDLOOP.
- Interview mit Björn Schulz (Software-Heroes.com) - 3. September 2024
- Daten aus ALV ermitteln - 3. September 2024
- So lange es den SAPGUI noch gibt… - 27. Juni 2024